<HTML><HEAD><TITLE>abort</TITLE>
</HEAD><BODY>[ <A HREF="index.html">Control</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>abort</H1>
The current computation is aborted and control is returned to the top
level.


<DL>
</DL>
<H2>Description</H2>
   Used to abort the current computation and return control to the top
   level.  This predicate is also executed when Ctrl-C is typed (unless the
   interrupt handler for this event has been redefined).

<P>
   abort/0 is implemented using exit_block(abort) which is caught by the
   top level loop.  If there is an active block/3 call whose tag matches
   the atom abort, the control does not return to the top level loop but is
   caught by this block.  If there is neither a top level loop (eg the -e
   option has been used) nor any block to catch the abort, then ECLiPSe will
   either return to the host program (in case of an embedded ECLiPSe) or
   the ECLiPSe process will exit (in case of a standalone ECLiPSe).

<P>

<H3>Modes and Determinism</H3><UL>
<LI>abort is erroneous
</UL>
<H2>Examples</H2>
<PRE>
   [eclipse]: abort.
   Aborting execution....
   [eclipse]:



</PRE>
<H2>See Also</H2>
<A HREF="../../kernel/opsys/kill-2.html">kill / 2</A>, <A HREF="../../kernel/control/block-3.html">block / 3</A>, <A HREF="../../kernel/control/exit_block-1.html">exit_block / 1</A>
</BODY></HTML>
